package com.byd.sealmanage.dao.mybatis;

import com.byd.sealmanage.config.CommonMapper;
import com.byd.sealmanage.modal.bo.EngraveApplyParamVo;
import com.byd.sealmanage.modal.bo.FilingSealExcelVO;
import com.byd.sealmanage.modal.bo.ProcessParamVO;
import com.byd.sealmanage.modal.po.TbDivisionSeal;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TbDivisionSealMapper extends CommonMapper<TbDivisionSeal> {

    /**
     * 批量插入印章信息
     * @param sealList
     * @return
     */
    int insertSealList(List<TbDivisionSeal> sealList);

    /**
     * 查询印章刻制列表数据数量
     * @return
     */
    int selectEngraveSealCount(EngraveApplyParamVo engraveApplyParamVo);

    /**
     * 查找印章刻制列表数据
     * @param engraveApplyParamVo
     * @return
     */
    List<EngraveApplyParamVo> selectEngraveSeal(EngraveApplyParamVo engraveApplyParamVo);

    /**
     * 获取刻制申请流程中相关的印章信息
     * @param trackId
     * @return
     */
    List<TbDivisionSeal> selectApplySealInfo(String trackId);

    /**
     * 驳回流程时删除印章
     * @param trackId
     * @return
     */
    int deleteEngraveSeal(String trackId);

    /**
     * 获取实体印章数量
     * @param engraveApplyParamVo
     * @return
     */
    int selectEntitySealCount(EngraveApplyParamVo engraveApplyParamVo);

    /**
     * 查询实体印章数据
     * @param engraveApplyParamVo
     * @return
     */
    List<FilingSealExcelVO> selectEntitySealList(EngraveApplyParamVo engraveApplyParamVo);

    /**
     * 批量插入私印备案的印章
     * @param filingSealList
     * @return
     */
    int insertFilingSealList(List<FilingSealExcelVO> filingSealList);
}